1. Field of the Invention
The present invention relates generally to graphical user interfaces. More particularly, the present invention relates to systems and methods for displaying data on a client interface that allows robust client functionality without requiring substantial local memory, processing resources or network bandwidth.
2. Description of the Related Art
Moore's Law accurately predicted that computational power would increase exponentially over time, and software companies have been eager to develop applications that take advantage of the increasing computer power available. Like processing power, the price and performance of data storage and bandwidth offered in commercial computing devices has been improving rapidly. At the same time, software application architectures have transitioned from large mainframe systems with dumb terminals towards distributed architectures in order to take advantage of the capability of front end devices, such as personal computers.
Personal computers have become so ubiquitous that most companies provide their workers with a dedicated personal computer on their desk to execute business applications. However, as computing devices have become more common place and computing architectures more distributed, it has been increasingly complex and expensive for businesses to maintain their installed software applications.
More recently, advanced networking has allowed a re-birth of centralized architectures, which have been found by some to be easier, less expensive to administer, and less demanding of the end user devices. Ironically, old architectures such as those characterized by mainframes and “dumb” terminals have been reincarnated into today's web server architectures. However, users today expect more functionality from their applications than that which a dumb terminal was ever capable of delivering, and accordingly, proposed systems that lack robust front end functionality have been rejected by users.
In response to this problem, standard web-application architectures have been extended by the concept of a so-called ‘smart client’, which is capable of delivering a robust user experience. With the smart client architecture, a portion of application functionality is moved to the end user device for execution locally, which takes advantage of the power of a PC desktop. Smart client architectures can be easy to deploy since they often can be administered centrally because client programs can be loaded at start up time. In theory, new versions of the program can be deployed simply by shutting-down and restarting such applications. However, just making the clients smarter does not solve problems with deployment and upgrades.
As computer applications become more sophisticated, hardware upgrades remain expensive since increasingly powerful client devices and infrastructure are required to implement the programs because increased memory consumption, network bandwidth and latency are required.
Investment and financial industry applications are often designed around a grid (spreadsheet-like) component that provides users with the ability to analyze information in a tabular and hierarchical fashion. Such grids are used to compile and aggregate massive amounts of data, such as data relating to stock portfolios. Consequently, for investment applications, the ‘grid’ has become the biggest consumer of computing resources, and therefore represents the biggest challenge in designing a thin smart client. Thus, there is a need for new and improved systems and methods that solve the above problems and that can deliver a truly thin, yet smart, client application interface.